﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;

namespace QLKS
{
    class XuLyCapNhatKhachHang
    {
        /// <summary>
        /// Đổi chuỗi loại khách hàng sang chuỗi mã khách hàng tương ứng
        /// </summary>
        /// <param name="str_loaikh"></param>
        /// <returns></returns>
        public string LoaiKhachHang_MaLoaiKhach(string str_loaikh)
        {
            try
            {
                string temp = null;
                LayDuLieu dl = new LayDuLieu();
                SqlDataReader dr = dl.LayTruongDuLieu("SELECT MaLK FROM LOAIKHACH WHERE TenLK=N'" + str_loaikh + "'");
                while (dr.Read())
                {
                    temp = dr.GetString(0);
                }
                KetNoi.NgatKetNoi();
                return temp;
            }
            catch { return null; }
        }

        /// <summary>
        /// Đổi chuỗi mã khách hàng sang chuỗi loại khách hàng tương ứng
        /// </summary>
        /// <param name="str_malk"></param>
        /// <returns></returns>
        public string MaLoaiKhach_LoaiKhachHang(string str_malk)
        {
            string temp = null;
            try
            {
                LayDuLieu dl = new LayDuLieu();
                SqlDataReader dr = dl.LayTruongDuLieu("SELECT TenLK FROM LOAIKHACH WHERE MaLK='" + str_malk + "'");
                while (dr.Read())
                {
                    temp = dr.GetString(0);
                }
                KetNoi.NgatKetNoi();
                return temp;
            }
            catch { return null; }
        }

        /// <summary>
        /// Thêm khách hàng vào CSDL
        /// </summary>
        /// <param name="str_makh"></param>
        /// <param name="str_tenkh"></param>
        /// <param name="str_loaikh"></param>
        /// <param name="str_cmnd"></param>
        /// <param name="str_diachi"></param>
        /// <returns></returns>
        public bool ThemKhachHang(string str_makh, string str_tenkh, string str_loaikh, string str_cmnd, string str_diachi)
        {
            try
            {
                LayDuLieu dl = new LayDuLieu();
                return dl.GhiDuLieu("INSERT INTO KHACHHANG VALUES('" + str_makh + "',N'" + str_tenkh + "','" + LoaiKhachHang_MaLoaiKhach(str_loaikh) + "','" + str_cmnd + "',N'" + str_diachi + "')");
            }
            catch { return false; }
        }

        /// <summary>
        /// Xóa khách hàng khỏi CSDL
        /// </summary>
        /// <param name="str_makh"></param>
        /// <returns></returns>
        public bool XoaKhachHang(string str_makh)
        {
            try
            {
                LayDuLieu dl = new LayDuLieu();
                return dl.GhiDuLieu("DELETE FROM KHACHHANG WHERE MaKH='" + str_makh + "'");
            }
            catch { return false; }
        }

        /// <summary>
        /// Sửa thông tin về khách hàng trong CSDL
        /// </summary>
        /// <param name="str_makh"></param>
        /// <param name="str_tenkh"></param>
        /// <param name="str_loaikh"></param>
        /// <param name="str_cmnd"></param>
        /// <param name="str_diachi"></param>
        /// <returns></returns>
        public bool SuaKhachHang(string str_makh, string str_tenkh, string str_loaikh, string str_cmnd, string str_diachi)
        {
            try
            {
                LayDuLieu dl = new LayDuLieu();
                return dl.GhiDuLieu("UPDATE KHACHHANG SET TenKH=N'" + str_tenkh + "', MaLK='" + LoaiKhachHang_MaLoaiKhach(str_loaikh) + "', CMND='" + str_cmnd + "', DiaChi=N'" + str_diachi + "' WHERE MaKH='" + str_makh + "'");
            }
            catch { return false; }
        }

        /// <summary>
        /// Kiểm tra tình trạng mã khách hàng do người dùng nhập là
        /// có bỏ trống hay không và mã khách hàng tồn tại hay chưa
        /// </summary>
        /// <param name="str_makh"></param>
        /// <returns></returns>
        public string KiemTraMaKhachHang_Them(string str_makh)
        {
            string _kt = "";
            if (str_makh == "")
                _kt = "chưa nhập mã khách hàng";
            else
            {
                try
                {
                    LayDuLieu dl = new LayDuLieu();
                    DataSet ds = dl.LayBangDuLieu("SELECT * FROM KHACHHANG WHERE MaKH='" + str_makh + "'");
                    if (ds.Tables[0].Rows.Count == 1)
                        _kt = "mã khách hàng đã tồn tại";
                    else
                        _kt = "";
                    KetNoi.NgatKetNoi();
                }
                catch { return _kt = ""; }
            }
            return _kt;
        }

        /// <summary>
        /// Kiểm tra tình trạng mã khách hàng do người dùng nhập là
        /// có bỏ trống hay không và mã khách hàng tồn tại hay chưa
        /// </summary>
        /// <param name="str_makh"></param>
        /// <returns></returns>
        public string KiemTraMaKhachHang_XoaSua(string str_makh)
        {
            string _kt = "";
            if (str_makh == "")
                _kt = "chưa nhập mã khách hàng";
            else
            {
                try
                {
                    LayDuLieu dl = new LayDuLieu();
                    DataSet ds = dl.LayBangDuLieu("SELECT * FROM KHACHHANG WHERE MaKH='" + str_makh + "'");
                    if (ds.Tables[0].Rows.Count == 0)
                        _kt = "mã khách hàng không tồn tại";
                    else
                        _kt = "";
                    KetNoi.NgatKetNoi();
                }
                catch { return _kt = ""; }
            }
            return _kt;
        }
    }
}
